Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
نویسندگان
چکیده
Correctness of program transformations in extended lambda calculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach to proving correctness is the combination of a context lemma with the computation of overlaps between program transformations and the reduction rules, and then of so-called complete sets of diagrams. The method is similar to the computation of critical pairs for the completion of term rewriting systems. We explore cases where the computation of these overlaps can be done in a first order way by variants of critical pair computation that use unification algorithms. As a case study we apply the method to a lambda calculus with recursive let-expressions and describe an effective unification algorithm to determine all overlaps of a set of transformations with all reduction rules. The unification algorithm employs many-sorted terms, the equational theory of left-commutativity modelling multi-sets, context variables of different kinds and a mechanism for compactly representing binding chains in recursive let-expressions.
منابع مشابه
Computing Overlappings by Unification in the Deterministic Lambda Calculus LR with letrec, case, constructors, seq and variable chains
We investigate the possibilities to automatize correctness proofs of program transformations in an extended lambda calculus LR. The calculus is equipped with an operational semantics, a standardized form of evaluation and based on that a notion of contextual equivalence which is used to define when a program transformations is considered as correct. A successful approach to proving correctness ...
متن کاملCorrectness of Program Transformations as a Termination Problem
The diagram-based method to prove correctness of program transformations includes the computation of (critical) overlappings between the analyzed program transformation and the (standard) reduction rules which result in so-called forking diagrams. Such diagrams can be seen as rewrite rules on reduction sequences which abstract away the expressions and allow additional expressive power, like tra...
متن کاملComplete Sets of Transformations for General E-Unification
This paper is concerned with E-unification in arbitrary equational theories. We extend the method of transformations on systems of terms, developed by Martelli-Montanari for standard unification, to Eunification by giving two sets of transformations, BT and T, which are proved to be sound and complete in the sense that a complete set of E-unifiers for any equational theory E can be enumerated b...
متن کاملChecking Graph Programs for Confluence
We present a method for statically verifying confluence (functional behaviour) of terminating sets of rules in the graph programming language GP 2, which is undecidable in general. In contrast to other work about attributed graph transformation, we do not impose syntactic restrictions on the rules except for left-linearity. Our checking method relies on constructing the symbolic critical pairs ...
متن کاملUnification of Two Approaches to Teacher Training in Iran: A Critical Review of Farhangiyan University’s Charter
Unification of Two Approaches to Teacher Training in Iran: A Critical Review of Farhangiyan University’s Charter N. Moosaapoor, Ph.D.* The historical facts imbedded in the century-old Iranian experience in teacher training reveal two different and coexisting approaches. One is a university-based four-year program aiming at training high school teachers, while the other is a two-year pro...
متن کامل